1
Контракт ISA и архитектурное состояние
AI031Lesson 3
00:00

Те Архитектура набора инструкций (ISA) выступает в качестве фундаментального уровня абстракции и формального контракта между программным обеспечением и аппаратным обеспечением. Хотя высокие уровни языков программирования, такие как С, скрывают сложность, ISA раскрывает архитектурное состояние—точную конфигурацию регистров процессора и памяти.

1. Архитектурное состояние

x86-64 процессор определяет свое состояние через несколько ключевых компонентов:

  • Счетчик программы (%rip): Содержит адрес следующей инструкции.
  • Файл целочисленных регистров: 16 универсальных регистров (например, %rax, %rbx) для хранения 64-битных значений.
  • Признаки состояния: Флаги (ZF, SF, CF, OF) для управления потоком выполнения.
  • Векторные регистры: Такие как регистры YMM (256 бит) для операций SIMD.

2. Абстракция памяти

Машинный код рассматривает память как огромный массив с адресацией по байтам. Хотя x86-64 поддерживает 64-битные виртуальные адреса, современные реализации часто используют 48-битное адресное пространство ($2^{48}$ байт). Мы классифицируем размеры данных как Слово (16 бит), Двойное слово (32 бита) и Четверное слово (64 бит).

ЦПУ (состояние)%rip (PC)Регистры (%rax..)Признаки состоянияКОНТРАКТ ISAmovq, ret, leaqВиртуальная память0xFFFF... (стек)0x0000... (код)

3. Эволюция и совместимость

Движимый законом Мура, Intel эволюционировал от 8086 до Core i7 Haswell. ISA гарантирует обратную совместимость, позволяя устаревшему машинному коду выполняться на современных многоядерных, гиперпоточных системах.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>